§1.1 Field of the Invention
The invention concerns configuration information used in apparatus, such as routers for example. More specifically, the invention concerns identifying and using a particular configuration for reset of the apparatus.
§1.2 Related Art
The description of art in this section is not, and should not be interpreted to be, an admission that such art is prior art to the invention. The invention may be used for marking configuration information to be used by a device or apparatus during a reset operation.
Data forwarding apparatus, such as routers and switches, may be interconnected to form networks. Each data forwarding apparatus may have a plurality of input lines and a plurality of output lines. A basic function of these apparatus is to forward data received at their input lines to the appropriate output lines. Routers, for example, may determine the appropriate output lines based on a destination address contained in the received data. Switches may be configured so that data received at input lines are provided to appropriate output lines.
Such data forwarding apparatus may need to be configured. This may be done by entering configuration commands, through a keyboard or some other type of interface, into a data forwarding device. For example, a command line user interface (“CLI”) may be provided for configuring the apparatus. Other types of information or commands may also be entered into the apparatus through the keyboard or interface.
As data forwarding apparatus become more complex and perform more functions, the size and complexity of configuration information or the apparatus increase. The additional size and complexity increases the chances that an operator will introduce unintended errors or undesired operational characteristics into the configuration when changing the configuration. This complexity can also make it more difficult to restore the data forwarding apparatus if the configuration is lost or is corrupted.
Some data forwarding apparatus facilitate sophisticated configuration editing and storing operations. For example, a candidate configuration can be stored on a non-persistent storage device (e.g., RAM) and edited using a CLI. The edited version of the configuration can be stored on a persistent storage device (e.g., non-volatile RAM, or “NV RAM”) using a “commit” command. Indeed, a number of alternative configurations can be committed and stored to NV RAM. The most recently committed configuration is used by the data forwarding apparatus. The most recently committed configuration is also used if the data forwarding apparatus is rebooted (i.e., if the data forwarding apparatus is restarted by reloading its operating system and configuration). Different versions of previously committed configurations can be made to be the most recently committed configuration by using a “rollback” command followed by a “commit” command.
As can be appreciated from the foregoing, data forwarding apparatus may have user interface tools to aid knowledgeable users in developing customized configurations. Unfortunately, however, data forwarding apparatus are often deployed at locations where such knowledgeable users aren't available. For example, a network service provider might configure and/or maintain data forwarding apparatus located at the premises of their customers. Such data forwarding apparatus and other equipment are commonly referred to as customer premise equipment (“CPE”). As another example, a company might configure data forwarding apparatus at a central location using highly trained, experienced staff. If a configuration is lost or corrupted, less experienced users might not be able to load a configuration that will allow the data forwarding apparatus to start functioning properly, or might not be comfortable with doing so.
In some instances, it may be possible for an experienced entity, such as a service provider or a highly trained user, to address the problem remotely. For example, a proper configuration may be uploaded to the data forwarding apparatus. However, there may be some instances in which the configuration is so corrupted that such remote diagnosis, repair, or both isn't possible or practical. This is especially true when the service provider's management link to the data forwarding apparatus is down because of the configuration corruption. Another alternative is to have an experienced user walk a less experienced user through a number of steps, for example over the telephone or via e-mail. However, attempting to diagnose the problem, fix the problem, or both in this way may be extremely difficult due to the complexity of some problems. Moreover, e-mail help might not be an option if the data forwarding apparatus is responsible for forwarding e-mail and cannot do so in its corrupted state. Consequently, the data forwarding apparatus may simply have to be shut down or continue operating in compromised manner until an experienced person can visit the site and address the problem.
Some data forwarding apparatus have a reset command for emergency situations. The reset command may be initiated via a user interface such as a CLI, a button, or a switch. The reset command may operate to restore a default configuration provided at the factory. Unfortunately, however, such factory defaults are often a poor substitute for configurations developed by service providers or in-house, highly trained and experienced users. In some instances, data forwarding apparatus reset with a factory default configuration might not function well, if at all.
Accordingly, there is a need to provide a better way to permit a user to get a data forwarding apparatus with a lost or corrupted configuration back to a good configuration.